package com.sztx.pay.center.dataaccess.dao.hbase;

import java.util.List;

import com.sztx.pay.center.dataaccess.domain.DumpOrderDetailHbaseDO;
import com.sztx.pay.center.dataaccess.domain.DumpOrderHbaseDO;
import com.sztx.pay.center.dataaccess.domain.DumpUserActFlowHbaseDO;
import com.sztx.pay.center.dataaccess.domain.HbaseQueryDO;
import com.sztx.pay.center.dataaccess.entity.QueryOrder;
import com.sztx.se.dataaccess.hbase.BaseHbaseDAO;

public interface DumpOrderHbaseDAO extends BaseHbaseDAO {

	boolean addDumpOrder(final DumpOrderHbaseDO hbaseDO);

	boolean addDumpUserActFlow(final List<DumpUserActFlowHbaseDO> hbaseDO);

	boolean addOrderDetail(final String tradeOrderId, final String jsonData, final String cloumName);

	List<String> scanDumpOrder(final String startTime, final String endTime, final Integer orderType);

	List<String> scanActFlow(final String startTime, final String endTime, final String userId);

	boolean batchAddOrderDetail(final List<DumpOrderDetailHbaseDO> hbaseDO);

	boolean batchAddDumpOrder(final List<DumpOrderHbaseDO> hbaseDO);

	HbaseQueryDO scanCmsActFlow(final String pageStartRowKey, final String originOrderNo, final String startDate, final String endDate, final String userId, final Integer userType,
			final String businessType, final Integer pageSize);

	HbaseQueryDO scanActFlow(final String pageStartRowKey, final String originOrderNo, final String startDate, final String endDate, final String userId, final Integer userType,
			final String startBusinessType, final Integer pageSize, final Integer tradeType, final Integer inOrOut, final String endBusinessType);

	HbaseQueryDO scanDumpOrder(final QueryOrder queryOrder, final String pageStartRowKey, final Integer pageSize);

	List<String> findOrderExtend(final String tradeOrderNo,final String qualifier);

}
